package com.smartcampusbackend.service;

import com.smartcampusbackend.model.InterestCommunity;
import com.smartcampusbackend.model.InterestCommunityMember;
import java.util.List;

public interface InterestCommunityService {
    
    // 创建兴趣社群
    InterestCommunity createCommunity(InterestCommunity community, Integer creatorId);
    
    // 删除兴趣社群（仅创建者）
    boolean deleteCommunity(Integer communityId, Integer userId, boolean isAdmin);
    
    // 根据分类获取社群列表
    List<InterestCommunity> getCommunitiesByCategory(String category);
    
    // 获取所有社群列表
    List<InterestCommunity> getAllCommunities();
    
    // 加入社群
    boolean joinCommunity(Integer communityId, Integer userId);
    
    // 退出社群
    boolean leaveCommunity(Integer communityId, Integer userId);
    
    // 获取用户创建的社群
    List<InterestCommunity> getUserCreatedCommunities(Integer userId);
    
    // 获取用户加入的社群
    List<InterestCommunity> getUserJoinedCommunities(Integer userId);
    
    // 获取社群成员
    List<InterestCommunityMember> getCommunityMembers(Integer communityId);
    
    // 检查用户是否已加入社群
    boolean isUserJoined(Integer communityId, Integer userId);

    // 删除社群成员（管理员或创建者可操作）
    boolean removeCommunityMember(Integer communityId, Integer memberUserId, Integer operatorUserId, boolean isAdmin);
} 